package com.javaclimb.music.datastructure;

/**
 * 冒泡排序
 * 规则
 * 1.比较相邻的元素，如果第一个比第二个大就交互他们两个
 * 2.对每对相邻的元素做同样操作，从开始的第一个到结尾的最后一对，这步完成后，最后的元素就是最大数
 * 3.针对所有的元素重复以上的步骤，除了最后一个元素
 *      4  2  8  9  5  7  6  1  3
 * 大数下沉，小数上浮
 */
public class POPSort {
    public static int[] sort(int[] array){
        int t;
        for (int i=0;i<array.length-1;i++){
            for (int j=i+1;j<array.length;j++){
                if (array[i]>array[j]){
                    t=array[i];
                    array[i]=array[j];
                    array[j]=t;
                }
            }
            System.out.println("第"+(i+1)+"轮排序结果如下：");
            display(array);
        }
        return array;
    }

    public static void display(int[] array){
        for (int i=0;i< array.length;i++){
            if (i==array.length-1){
                System.out.println(array[i]+" ");
            }else {
                System.out.print(array[i] + " ");
            }
        }
    }
    public static void main(String[] args) {
        int[] array={4,2,8,9,5,7,6,1,3};
        System.out.println("排序前：");
        POPSort.display(array);
        int[] arr=POPSort.sort(array);
        System.out.println("排序后：");
        POPSort.display(arr);

    }
}
